Fix a couple of bugs in linear_congruential_engine::seed. Regression test added. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@182421 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/random b/include/random index 92722ea..f1076f9 100644 --- a/include/random +++ b/include/random 
@@ -1835,7 +1835,7 @@  // types  typedef _UIntType result_type;   -private: +//private:  result_type __x_;    static _LIBCPP_CONSTEXPR const result_type _Mp = result_type(~0); @@ -1880,7 +1880,7 @@  seed(_Sseq& __q)  {__seed(__q, integral_constant<unsigned,  1 + (__m == 0 ? (sizeof(result_type) * __CHAR_BIT__ - 1)/32 - : (__m-1) / 0x100000000ull)>());} + : (__m > 0x100000000ull))>());}    // generating functions  _LIBCPP_INLINE_VISIBILITY @@ -1969,7 +1969,7 @@  uint32_t __ar[__k+3];  __q.generate(__ar, __ar + __k + 3);  result_type __s = static_cast<result_type>((__ar[3] + - (uint64_t)__ar[4] << 32) % __m); + ((uint64_t)__ar[4] << 32)) % __m);  __x_ = __c == 0 && __s == 0 ? result_type(1) : __s;  }